Installation de LODEL préinstallé sur une VM
Pour tester le logiciel, il est recommandé d'installer la version pré-installée disponible à l'adresse suivante : http://lodel.org/downloads/vms/2017 et suivez les instructions du readme. (La version 2017 doit être mise à jour -> utilisez pour l'instant version 2016, plus stable).
Notamment, la version préinstallée comprend également OTX, le logiciel de conversion de fichiers .doc ou .odt files vers le format XML-TEI ; OTX est integré à Lodel 1.0. Sans OTX, pour importer un document tel qu'un article sur un site, vous devez le charger au format XML-TEI; OTX permet de charger directement des documents bureautiques au format DOC.
Il est cependant bien sûr possible de faire l'installation soi-même (à partir d'un OS Linux ou d'une VM vierge), voici les étapes à suivre (sans l'installation d'OTX):
Installation sur une VM (VirtualBox)
Principes d'une installation
- Cloner de préférence la dernière version tagguée.
- Faire pointer le virtual host sur la racine de l'installation Lodel.
- L'utilisateur du serveur HTTP doit avoir les droits de lecture sur tous les fichiers.
- Créer une base de donnée et un utilisateur ayant les droits de modification sur cette base.
- Aller à l'adresse configurée avec un navigateur web, suivre les instructions dans l'IHM. Il faudra donner temporairement les droits d'écriture sur le dossier d'une instance de site.
- Vérifer qu'à l'intérieur du dossier d'un site l'utilisateur du serveur HTTP (ex. www-data) a bien les droits d'écriture sur les dossiers: upload, docannexe, docannexe/file, docannexe/image, lodel/sources, lodel/icons
Détail des étapes
A partir d'une machine virtuelle VirtualBox.
Si vous partez d'une image Debian9 vierge, installer sudo (https://blog.seboss666.info/2014/05/installer-et-utiliser-sudo-sur-debian/) :
su root
puis apt-get update
et apt-get install sudo
Ajoutez vous comme sudoer : ajoutez un fichier (sudo nano /etc/sudoers.d/votreuser
) contenant 1 ligne:
$USER ALL = ALL
puis rebootez.
Si besoin, augmenter la taille disque: VBoxmanage modifyhd cheminVM/dd.vdi --resize tailleenMo
installation des PAQUETS :
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt install mysql-server
sudo apt install mysql-client
sudo apt-get install php php-fpm
(installe php7 sur debian9)
Pour éviter que apache et nginx n'interfèrent, supprimez apache2 (installé par défaut sur Debian)
sudo apt-get remove apache2
(ousudo apt-get purge apache2
)
sudo apt-get install nginx
sudo apt-get install git
Ajouter les dépendances PHP pour Lodel:
sudo apt-get install php7.0-mbstring php7.0-xml php7.0-gd php7.0-curl php7.0-mysqlnd php7.0-zip
. Pour vérifier quels modules vous avez installés:
dpkg --list|grep php
. Pour vérifier si ils sont bien pris en compte par PHP-FPM:
sudo /usr/sbin/php-fpm7.0 -m
Cf. plus loin, lodeladmin/install.php vérifie que les modules sont disponibles pour Lodel.
Config MYSQL
-
cf. https://doc.ubuntu-fr.org/mysql :
mysql -u root -p create user 'nom_utilisateur'@'localhost' identified by 'votremdp'; GRANT ALL PRIVILEGES ON . TO 'nom_utilisateur'@'localhost';
-
changement du mot de passe du root sur la base :
su root mysql -u root use mysql UPDATE user SET Password=PASSWORD('votremdp') where User='root';
-
Si un problème survient avec le mot de passe de mysql, cf. https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
- Pour vérifier si MySQL est lancé :
sudo service mysql status
Config PHP
- Editer php.ini (
sudo nano /etc/php/7.0/fpm/php.ini
) et fairecgi.fix_pathinfo = 0
(décommenter la ligne) -
La conf de PHP est dans dans
/etc/php/7.0/fpm/
(notamment php-fpm.conf et dans pool.d/www.conf qui définit le pool de connexions à FPM (qui écoutent sur /var/run/php/php7.0-fpm.sock) et qui précise que l'utilisateur FPM est user:www-data/group:www-data); le processus est dans /var/run/php/php7.0-fpm.pid; le log est dans /var/log/php7.0-fpm.log; -
vérifier si php-fpm est lancé :
sudo service php7.0-fpm status
- pour relancer PHP-FPM
sudo service php7.0-fpm restart
config NGINX
Pour en savoir plus sur la config, cf. le wiki de Nginx.
La config de nginx est dans /etc/nginx. le fichier principal est nginx.conf ; la définition de la configuration du site lodel s'ajoute dans le répertoire sites-available et comme lien symbolique.
On vous propose ici une configuration basique pour remplacer le fichier conf. Les 2 fichiers sont téléchargeables ici.
sudo mv nginx.conf nginx.conf.old
puis créez un fichier nginx.conf avec cette configuration.
et ajoutez un fichier lodel dans le répertoire sites-available
puis un lien symbolique depuis sites-enabled : sudo ln -s /etc/nginx/sites-available/lodel /etc/nginx/sites-enabled/lodel
- puis relancez PHP-FPM
sudo service nginx reload
- pour vérifier si php-fpm est lancé :
sudo service nginx status
Création et config de l'instance LODEL
Suivre les instructions de https://github.com/OpenEdition/lodel/blob/master/INSTALL :
git clone https://github.com/openedition/lodel
(au besoin: git checkout la_branche_qui_vous_intéresse
)
Ensuite:
cp lodelconfig-default.php lodelconfig.php
grep install_key lodelconfig.php
touch 03dde1bd-c6b6-4424-8618-c4488e30484a
#passer root (su root)
mysql -u root -p
#(pass :votremdp)
create user 'lodeluser'@'localhost' identified by 'password';
CREATE DATABASE lodel
CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT ALL on lodel
. TO lodeluser@localhost identified by "password";
GRANT ALL on .* TO lodeluser'@localhost identified by "password";
puis mettre à jour
lodelconfig.php
avec ces infos (database, dbusername, dbpasswd, dbhost)et commenter la ligne exit; (avec //)
Connectez-vous à 127.0.0.1/lodeladmin/install.php
(qui vérifie si toutes les libs php sont installées, entre autres),
puis si tout est Ok, suivez les instructions qui vous invitent à vous connectez en tant que Username: admin / Password: xxxxxxxxxxxxxx,
puis à créer un autre utilisateur avec les droits LodelAdmin, puis à créer un site.
Supprimez ensuite le fichier 03dde1bd-c6b6-4424-8618-c4488e30484a (et aussi l'utilisateur admin initial).
Tester l'installation
Pour se connecter au back-office (Admin lodel):
http://localhost/lodeladmin